/*
 * @2019 zhang hui bo
 */
package com.pathxiugai;

import java.io.File;

public class PathXiuGai {

    static int j = 1;//为了修改文件名时进行序列化

    public static void main(String[] argv) throws Exception {
        System.out.println("遍历目录");


        File dir = new File("F:\\电视剧\\斗罗大陆");  //要遍历的目录
        visitAllDirsAndFiles(dir);
    }

    //用递归法遍历目录
    public static void visitAllDirsAndFiles(File dir) {

        //修改文件最后修改时间
        File f = new File(dir.toString());
        f.setLastModified(System.currentTimeMillis());

        //如果dir是目录

        if (dir.isDirectory()) {

            //获得子目录名
            String[] children = dir.list();
            for (int i = 0; i < children.length; i++) {

                //递归子目录

                visitAllDirsAndFiles(new File(dir, children[i]));

            }
        } else {

            //如果dir是文件而不是目录

            String fname=dir.getName();
            /**
             * ****************************************
             * 名称修改逻辑开始
             * ****************************************
             */

//            fname = fname.replace("lol电影天堂www.loldytt.com","三十而已");
//            fname = fname.replace("Nothing.But.Thirty.2020","");
//            fname = fname.replace("[电影天堂www.dytt89.com]","");

//            if(fname.substring(0,5).equals("斗罗大陆第")){
//                System.out.println("-->"+fname);
//            }else{
//                fname = fname.substring(0,4)+"第"+fname.substring(4,7)+"集"+fname.substring(7);
//            }

            /**
             * ****************************************
             * 名称修改逻辑结束
             * ****************************************
             */
            System.out.println(fname);
            //获取dir父目录路径
            String fParent = dir.getParentFile().toString();

            //打开要改名的文件
            File fo = new File(dir.toString());

            //新建更改后的文件（自定义命名）
            File fn = new File(fParent + "\\" + fname);
//            File fn = new File(fParent + "\\" + "需要改的名字" + j + ".doc");

            //更改文件名
            fo.renameTo(fn);

            //序列改名
            j++;

        }

    }
}
